package service

import (
	"boy-go/modules/system/model"
	"boy-go/modules/system/vo"
	"boy-go/pkg/domain"
)

type SysDeptService interface {
	GetById(deptId int64) (*vo.SysDeptModel, error)
	List(req *vo.QuerySysDeptReq) (*vo.ListSysDeptRsp, error)
	Add(req *vo.AddSysDeptReq) (*vo.AddSysDeptRsp, error)
	Edit(req *vo.EditSysDeptReq) (*vo.EditSysDeptRsp, error)
	Del(deptId int64) error
	BatchDel(ids []string) error
	SelectDeptListByRoleId(roleId int64) []*int64
	SelectDeptTreeList(query *vo.QuerySysDeptReq) []*domain.TreeSelect
	BuildDeptTreeSelect(depts []*model.SysDept) []*domain.TreeSelect
	CheckDeptDataScope(deptId *int64) error
}
